package com.weight.system.menuauth.service.impl;

import com.weight.system.menuauth.PO.MenuAuthInfo;
import com.weight.system.menuauth.service.MenuAuthInfoService;
import com.weight.system.menuauth.DAO.MenuAuthInfoMapper;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.pagehelper.PageHelper;
import org.springframework.transaction.annotation.Transactional;
import com.weight.common.util.CommonUtils;
import lombok.extern.slf4j.Slf4j;

/**
 * 菜单权限表
 */
@Service
@Transactional
@Slf4j
public class MenuAuthInfoServiceImpl implements MenuAuthInfoService {

	@Autowired
	private MenuAuthInfoMapper menuAuthInfoMapper;


	/**
	 * 查询菜单权限信息--条件查询
	 * @param map
	 * @return
	 */
	@Override
	public List<MenuAuthInfo> findMenuAuthInfoByT(Map map){
		return menuAuthInfoMapper.findMenuAuthInfoByT(map);
	}

	/**
	 * 查询菜单权限信息--条件，分页查询
	 * @param currentPage
	 * @param pageSize
	 * @param map
	 * @return
	 */
	@Override
	public List<MenuAuthInfo> findMenuAuthInfoByPage(int currentPage,int pageSize,Map map){
		PageHelper.startPage(currentPage, pageSize);
		List<MenuAuthInfo> menuAuthInfoList = menuAuthInfoMapper.findMenuAuthInfoByT(map);
		return menuAuthInfoList;
	}

	/**
	 * 查询菜单权限信息--查询全部
	 * @return
	 */
	@Override
	public List<MenuAuthInfo> findAll(){
		return menuAuthInfoMapper.findAll();
	}

	/**
	 * ID查询菜单权限信息
	 * @param map
	 * @return
	 */
	@Override
	public MenuAuthInfo findByMenuAuthInfoId(Map map){
		MenuAuthInfo menuAuthInfo=menuAuthInfoMapper.findByMenuAuthInfoId(map);
		CommonUtils.validateExistObj(menuAuthInfo,map);
		return menuAuthInfo;
	}

	/**
	 * ID查询菜单权限信息-批量
	 * @param menuAuthInfoIdList
	 * @return
	 */
	@Override
	public List findByMenuAuthInfoIdList(List menuAuthInfoIdList){
		List idList = menuAuthInfoMapper.findByMenuAuthInfoIdList(menuAuthInfoIdList);
		CommonUtils.validateExistList(idList,menuAuthInfoIdList);
		return idList;
	}

	/**
	 * 添加菜单权限
	 * @param menuAuthInfo
	 */
	@Override
	public void insertMenuAuthInfo(MenuAuthInfo menuAuthInfo){
		menuAuthInfoMapper.insertMenuAuthInfo(menuAuthInfo);
	}

	/**
	 * 批量添加菜单权限
	 * @param menuAuthInfoList
	 */
	@Override
	public void insertMenuAuthInfoBatch(List<MenuAuthInfo> menuAuthInfoList){
		menuAuthInfoMapper.insertMenuAuthInfoBatch(menuAuthInfoList);
	}

	/**
	 * 修改菜单权限
	 * @param menuAuthInfo
	 */
	@Override
	public void updateMenuAuthInfo(MenuAuthInfo menuAuthInfo){
		menuAuthInfoMapper.updateMenuAuthInfo(menuAuthInfo);
	}

	/**
	 * 修改菜单权限
	 * @param menuAuthInfo
	 */
	@Override
	public void updateMenuAuthInfoLimt(MenuAuthInfo menuAuthInfo){
		menuAuthInfoMapper.updateMenuAuthInfoLimt(menuAuthInfo);
	}

	/**
	 * 物理删除菜单权限
	 * @param map
	 */
	@Override
	public void deleteByMenuAuthInfoId(Map map){
		menuAuthInfoMapper.deleteByMenuAuthInfoId(map);
	}

	/**
	 * 批量物理删除菜单权限
	 * @param menuAuthInfoIdList
	 */
	@Override
	public void deleteByMenuAuthInfoIdBatch(List menuAuthInfoIdList){
		menuAuthInfoMapper.deleteByMenuAuthInfoIdBatch(menuAuthInfoIdList);
	}

	/**
	 * 状态删除菜单权限
	 * @param map
	 */
	@Override
	public void upDelByMenuAuthInfoId(Map map){
		menuAuthInfoMapper.upDelByMenuAuthInfoId(map);
	}

	/**
	 * 批量状态删除菜单权限
	 * @param menuAuthInfoList
	 */
	@Override
	public void upDelByMenuAuthInfoIdBatch(Map<String, Object> map){
		menuAuthInfoMapper.upDelByMenuAuthInfoIdBatch(map);
	}

}